package semantico;

/**
 * Implementa suporte para instrucoes de desvio, atribuicao, etc.
 * @author Cefanys
 *
 */
public class Codigo extends NoSintatico {

	public Codigo(){
		
	}
	
	public static Codigo NULL = new Codigo();
	
	/**
	 * Gera codigo de tres enderecos
	 * @param inicio - marca o inicio do codigo para o comando.
	 * @param primeiraInstrucaoApos - marca a primeira instrucao apos o codigo do comando.
	 * @throws SemanticoException 
	 */
	public void gerar(int inicio, int primeiraInstrucaoApos) throws SemanticoException{ //chamado com rotulos begin e after
		
	}
	
	/**
	 * Usado pelo laco enquanto para guardar o seu inicio.
	 * De modo que possa ser usado por qualquer comando break interno
	 * para desviar para fora do laco que o envolve. 
	 */
	int after = 0; //guarda rotulo after
	
	public static Codigo ENCERRAR = Codigo.NULL; //usado para comando break
}
